//三只猫，一只叫小白，2岁，白色；一只叫小黑，3岁，黑色；还有一只叫小花，4岁，花色
// let name1 = "小白";
// let age1 = 2;
// let color1 = "白色";
//
// let name2 = "小黑";
// let age2 = 3;
// let color2 = "黑色";
//
// let name3 = "小花";
// let age3 = 4;
// let color3 = "花色";

//对象的创建
// let obj1 = new Object();
// let obj2 = Object();
// let obj3 = {};   //隐式创建

//对象属性的创建
// obj3.name = "小白";
// obj3.age = 2;
// obj3.color = "白色";
// console.log(obj3);  //打印整个对象

// let obj4 = {};
// obj4.name = "小黑";
// obj4.age = 3;
// obj4.color = "黑色";
// console.log(obj4);

// let nn = obj4.name;   //对象属性的访问
// console.log(nn);

// obj4.name = "小花";   //对象属性的修改
// console.log(obj4);

// delete obj4.age;    //对象属性的删除
// console.log(obj4);

// console.log(obj4['name']);  //通过中括号访问属性

// let aa = 'na';
// let bb = 'me';
// console.log(obj4[aa + bb]);  //可以字符串拼接 适用于加密

// obj4['for'] = "luojinsheng";
// console.log(obj4['for']);

// obj4.for = "luojinsheng";  //引擎已经更新 目前可以使用
// console.log(obj4.for);


// let a = Symbol();
// let b = Symbol();
// // console.log(a, b);
// // console.log(a === b);
// obj4[a] = "luojinsheng";
// obj4[b] = "luojinsheng";
// console.log(obj4);


// obj4[Symbol()] = "luojinsheng";
// obj4[Symbol()] = "luodada";
// console.log(obj4);


// let obj5 = {};
// obj5.x = 100;
// let obj6 = {};
// obj6.y = 200;
// obj5.z = obj6;
// console.log(obj5);

// let obj5 = {};
// obj5.x = 100;
// obj5.y = {};
// console.log(obj5);
// obj5.y.z = 200;
// console.log(obj5);


// 对象的字面量写法
// let obj7 = {x: 100, y: 200, z: 300};
// console.log(obj7.x);
// let obj8 = {'x': 100, 'y': 200, 'z': 300, };
// console.log(obj8.x);

// let a = 'x';
// let b = 'y';
// let obj9 = {[a + b]: 100, [b]: 200, 'z': 300, };
// console.log(obj9.xy);

// let obj10 = { "x": 100, "y": { z: 200 } }
// console.log(obj10.y.z);

// let obj = {};
// let s = "xxx";
// obj[s] = 100;
// console.log(obj);
// console.log(obj[s]);	//100
// console.log(obj.s); 	//undefined
// console.log(obj["s"]);	//undefined

// let nn = "luojinsheng";
// let obj1 = { nn: 100 };
// let obj2 = { ["nn"]: 200 };
// let obj3 = { [nn]: 300 };
// console.log(obj1);
// console.log(obj2);
// console.log(obj3);


// let y = "nn";
// let obj = {
//     x: 100,
//     [y]: {
//         y: {
//             z: 200
//         }
//     }};
// console.log(obj.nn.y.z);


//对象属性的遍历 Symbol是无法遍历的
// let s = Symbol();
// let obj = {x: 100, y: 200, z: 300, [s]: 400};
// for (const objKey in obj) {
//     console.log(objKey, obj[objKey]);
// }
// let ss = Object.getOwnPropertySymbols(obj);  //使用getOwnPropertySymbols()获得symbol对象
// console.log(ss);


//对象的方法（把一个函数放到对象里面去）
// function test(a) {
//     console.log("luojinsheng " + a);
//     return 100;
// }
// console.log(test);
// console.log(test());
// let obj = {x: 100, y: 200, z: 300, s: test};  //把test函数的返回值给到s
// console.log(obj.x);
// console.log(obj.s('luodada'));

// let obj = {
//     x: 100, y: 200, z: 300,
//     s: function (a) {
//         console.log("luojinsheng" + a);
//         return 100;
//     }};

// function test(a) {
//     console.log("luojinsheng " + a);
//     return 100;
// }
// let x = 100;
// let obj = {
//     x,              //相当于 x: x 简写
//     y: 200, z: 300,
//     test      //相当于 test: test 简写
// };
// console.log(obj.x);
// console.log(obj.test('luodada'));


// let x = 100;
// let obj = {
//     x,
//     y: 200, z: 300,
//     test (a) {
//         console.log("luojinsheng " + a);
//         return 100;
//     }
// };
// console.log(obj.x);
// console.log(obj.test('luodada'));


// let obj = {name: "luojinsheng", age: 20};
// let name = obj.name;
// let age = obj.age;
// console.log(name, age);

// let {name, age} = {name: "luojinsheng", age: 20};  //相当于上面的简写，仅限于变量名跟属性名是匹配的
// console.log(name, age);


// let obj = {name: "luojinsheng", age: 20};
// let a = obj.name;
// let b = obj.age;
// console.log(a, b);

// let {name: a, age: b} = {name: "luojinsheng", age: 20};
// console.log(a, b);

// let name, age;
// ({name, age} = {name: "luojinsheng", age: 20});
// console.log(name, age);


let {name, age, color: c = "白色"} = {name: "luojinsheng", age: 20, color: '黑色'};
console.log(name, age, c);






